
int.o:     file format elf32-littlearm


Disassembly of section .text:

00000000 <main>:
	int age;
}B;


int main()
{
   0:	e92d4800 	push	{fp, lr}
   4:	e28db004 	add	fp, sp, #4
   8:	e24dd010 	sub	sp, sp, #16
	B * b;

	char * tmp1;
	int * tmp2;

	a.num = 1;
   c:	e3a03001 	mov	r3, #1
  10:	e50b3014 	str	r3, [fp, #-20]	; 0xffffffec

	tmp1 = (char *)(&(a.num));
  14:	e24b3014 	sub	r3, fp, #20
  18:	e50b3008 	str	r3, [fp, #-8]
	printf("%c\n", *tmp1);
  1c:	e51b3008 	ldr	r3, [fp, #-8]
  20:	e5d33000 	ldrb	r3, [r3]
  24:	e1a01003 	mov	r1, r3
  28:	e59f0074 	ldr	r0, [pc, #116]	; a4 <main+0xa4>
  2c:	ebfffffe 	bl	0 <printf>
	tmp1  = tmp1 + 4;
  30:	e51b3008 	ldr	r3, [fp, #-8]
  34:	e2833004 	add	r3, r3, #4
  38:	e50b3008 	str	r3, [fp, #-8]
//	printf("%c\n", *tmp1);
	*tmp1 = 'a';
  3c:	e51b3008 	ldr	r3, [fp, #-8]
  40:	e3a02061 	mov	r2, #97	; 0x61
  44:	e5c32000 	strb	r2, [r3]
//	printf("%c\n", *tmp1);

	tmp2 = (int *)(&(a.num));
  48:	e24b3014 	sub	r3, fp, #20
  4c:	e50b300c 	str	r3, [fp, #-12]
//	printf("%d\n", *tmp2);
	tmp2 = tmp2 + 2;
  50:	e51b300c 	ldr	r3, [fp, #-12]
  54:	e2833008 	add	r3, r3, #8
  58:	e50b300c 	str	r3, [fp, #-12]
//	printf("%d\n", *tmp2);
	*tmp2 = 100;
  5c:	e51b300c 	ldr	r3, [fp, #-12]
  60:	e3a02064 	mov	r2, #100	; 0x64
  64:	e5832000 	str	r2, [r3]
//	printf("%d\n", *tmp2);

	b = (B *)(&a);
  68:	e24b3014 	sub	r3, fp, #20
  6c:	e50b3010 	str	r3, [fp, #-16]
	printf("b->num = %d b->type = %c b->age = %d\n", b->num, b->type, b->age);
  70:	e51b3010 	ldr	r3, [fp, #-16]
  74:	e5931000 	ldr	r1, [r3]
  78:	e51b3010 	ldr	r3, [fp, #-16]
  7c:	e5d33004 	ldrb	r3, [r3, #4]
  80:	e1a02003 	mov	r2, r3
  84:	e51b3010 	ldr	r3, [fp, #-16]
  88:	e5933008 	ldr	r3, [r3, #8]
  8c:	e59f0014 	ldr	r0, [pc, #20]	; a8 <main+0xa8>
  90:	ebfffffe 	bl	0 <printf>


	return 0;
  94:	e3a03000 	mov	r3, #0
}
  98:	e1a00003 	mov	r0, r3
  9c:	e24bd004 	sub	sp, fp, #4
  a0:	e8bd8800 	pop	{fp, pc}
  a4:	00000000 	.word	0x00000000
  a8:	00000004 	.word	0x00000004
